package com.example.blog.mapper;

import com.example.blog.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * 用户数据访问接口
 * 负责用户相关的数据库操作
 */
@Mapper
public interface UserMapper {

    /**
     * 注册新用户
     * @param user 用户信息对象，包含用户名、密码和邮箱
     */
    void register(User user);

    /**
     * 用户登录验证
     * @param user 包含用户名和密码的用户对象
     * @return 如果验证成功返回用户完整信息，否则返回null
     */
    User login(User user);

    /**
     * 根据用户名查询用户信息
     * @param username 用户名
     * @return 用户完整信息，如果未找到则返回null
     */
    User findByUsername(String username);
}